二级 Web 程序设计
科目 64 · 考点与真题
这不是一门只考 HTML 的考试——它考的是 Web 基础 + HTTP + HTML + CSS + JavaScript + DOM/BOM + 动态网页技术 + 公共基础知识。 其中真正需要大量动手练习的是 HTML + CSS + JavaScript + DOM。 本页按 2025 年版官方大纲组织知识点,并收录 2021–2026 年真题与官方样题。
选择题 40 分中含 公共基础知识 10 分;操作题 60 分 = 基本操作题 + 简单应用题 + 综合应用题。
Web 技术基础
理论 · 选择题为主理论基础部分。大纲要求掌握 Web 技术的基本概念、组成,以及浏览器和服务器的工作原理。
必懂概念清单
- Internet / WWW / Web
- URL(统一资源定位符)
- 网页 / 网站 / Web 应用
- 浏览器(客户端)
- Web 服务器(服务端)
- 客户端 / 服务端架构
Web 工作原理(必背)
HTTP 协议
理论 · 高频考点大纲要求:HTTP 基本概念与交互模型、消息格式、请求消息与常用请求方法、响应消息与常用响应状态、常用消息头。
HTTP 请求消息结构
HTTPGET /index.html HTTP/1.1 ← 请求行 Host: www.example.com ← 请求头 Connection: keep-alive ← 空行 ← 请求正文(GET 通常为空)
GET 与 POST 对比(必考)
| GET | POST |
|---|---|
| 获取资源 | 提交数据 |
| 参数拼在 URL 中,可见 | 数据放在请求体,不直接显示在 URL |
| 常用于查询 | 常用于表单提交 |
| 有长度限制 | 数据量通常更大 |
HTTP 状态码(必须重点掌握)
| 状态码 | 含义 | 状态码 | 含义 |
|---|---|---|---|
200 | OK,请求成功 | 400 | Bad Request |
201 | Created,创建成功 | 401 | Unauthorized |
301 | 永久重定向 | 403 | Forbidden |
302 | 临时重定向 | 404 | Not Found |
304 | Not Modified | 500 | Internal Server Error |
HTML
操作题核心 · ★★★★★大纲要求:HTML 文档结构和语法、常用元素及其属性、表单与常用控件。这是操作题的核心内容之一。
HTML 文档基本结构
HTML<!DOCTYPE html> <html> <head> <title>网页标题</title> </head> <body> </body> </html>
文本 · 超链接 · 图像
HTML<h1>一级标题</h1> <p>段落</p> <strong>重要文本</strong> <em>强调</em> <br> <hr> <!-- 超链接:重点属性 href / target / title --> <a href="page2.html" target="_blank">打开页面</a> <!-- 图像:重点属性 src / alt / width / height --> <img src="images/a.jpg" alt="图片">
列表 · 表格(rowspan / colspan 高频)
HTML<ul><li>HTML</li><li>CSS</li></ul> <!-- 无序列表 --> <ol><li>HTML</li><li>CSS</li></ol> <!-- 有序列表 --> <table> <tr><th>姓名</th><th>成绩</th></tr> <tr><td rowspan="2">张三</td><td>90</td></tr> </table> <!-- table / tr / th / td / caption / thead / tbody / tfoot --> <!-- rowspan 跨行,colspan 跨列,操作题常考 -->
表单与控件(操作题重点)
HTML<form action="login.php" method="post"> 用户名:<input type="text"> 密码:<input type="password"> 性别:<input type="radio" name="sex">男 <input type="radio" name="sex">女 <input type="submit" value="登录"> </form> <!-- input 类型必背 --> text · password · radio · checkbox · file · submit · reset · button <!-- 其他控件 --> label · textarea · select · option · button
CSS
操作题核心 · ★★★★★大纲要求:基本概念、基本语法、使用方法、选择器、层次及优先级、布局设计。是必须重点掌握的操作部分。
三种使用方式与优先级
CSS/* 1. 行内样式 */ <p style="color:red;"> /* 2. 内部样式(head 中) */ <style> p { color: red; } </style> /* 3. 外部样式 */ <link rel="stylesheet" href="style.css">
!important 提升优先级。选择器(非常重要的考点)
| 选择器 | 写法 | 含义 |
|---|---|---|
| 标签选择器 | p { color:red; } | 所有 p 元素 |
| 类选择器 | .title { color:blue; } | class="title" 的元素 |
| ID 选择器 | #header { height:80px; } | id="header" 的唯一元素 |
| 后代选择器 | div p { } | div 内部所有 p |
| 子元素选择器 | div > p { } | div 的直接子级 p |
常用属性速查
- 字体:
font-family / font-size / font-weight / font-style - 文本:
color / text-align / text-decoration / line-height / letter-spacing - 背景:
background / background-color / background-image
- 尺寸:
width / height - 边框:
border / border-radius - 间距:
margin(外边距)/padding(内边距)
Box Model 盒模型(必理解)
由内向外:content → padding → border → margin
布局与定位
CSSdisplay: block | inline | inline-block | none; position: static | relative | absolute | fixed; /* 考试尤其要理解 relative + absolute 的配合: 父元素 relative,子元素 absolute 相对父元素定位 */
JavaScript
最重要部分之一 · ★★★★★大纲要求:基本概念和语法、常用内置对象、事件处理,以及 BOM、DOM。JavaScript 代码在浏览器端执行。
变量与数据类型
JSvar a = 10; let b = 20; const c = 30; // 数据类型 Number · String · Boolean · Undefined · Null · Object · Array
运算符(易错点必背)
JS5 == "5" // true —— == 会做类型转换 5 === "5" // false —— === 同时比较类型和值
流程控制
JSif (score >= 60) { ... } else { ... } switch (grade) { case "A": ...; break; case "B": ...; break; } for (let i = 0; i < 10; i++) { ... } // while / do...while / break / continue
函数
JSfunction add(a, b) { return a + b; } let result = add(10, 20); // 掌握:定义 / 参数 / 返回值 // 局部变量(函数内 var/let) // 全局变量
数组与字符串常用方法
| 数组 | 字符串 |
|---|---|
arr.length 长度 | str.length 长度 |
push() 尾加 / pop() 尾删 | indexOf() 查找位置 |
shift() 头删 / unshift() 头加 | substring() / substr() 截取 |
arr[0] 下标访问 | split() 分割 / toUpperCase() / toLowerCase() |
内置对象(大纲明确考点)
JSMath.random() Math.round() Math.floor() Math.ceil() Math.max() Math.min() new Date() // 日期对象 // String · Array · Math · Date · RegExp · Number · Object
Math.round(6.25)——注意没有 Math.rnd() 这个函数。BOM 浏览器对象模型
Browser Object Model主要对象:window / navigator / location / history / screen。document 对象从属于 window 对象(常见判断题)。
JSwindow.alert("Hello"); // 常省略 window 直接写 alert() location.href = "index.html"; // 页面跳转 history.back(); // 后退 history.forward(); // 前进
DOM 文档对象模型
重点中的重点 · ★★★★★DOM(Document Object Model)把网页表示为树形结构,JavaScript 通过 DOM 操作网页元素。控制文档结构的是 DOM,不是 CSS。
获取元素(必须熟练)
JSdocument.getElementById("box") // 按 id,返回单个元素 document.getElementsByTagName("p") // 按标签,返回集合 document.getElementsByClassName("item") // 按类名,返回集合 document.querySelector("#box") // CSS 选择器,第一个 document.querySelectorAll(".item") // CSS 选择器,全部
修改内容与样式
JS// 修改 HTML 内容 document.getElementById("text").innerHTML = "Hello World"; document.getElementById("text").textContent = "Hello World"; // 修改 CSS(注意驼峰命名) let box = document.getElementById("box"); box.style.width = "200px"; box.style.backgroundColor = "yellow";
亲手试一试 · DOM 操作演示
点右边按钮操作我
每个按钮对应一行真题级别的 DOM 代码。
事件处理
实操重点 · ★★★★★HTML<button onclick="showMessage()">点击</button> <script> function showMessage() { alert("Hello"); } </script>
常见事件必背
| 事件 | 触发时机 | 事件 | 触发时机 |
|---|---|---|---|
onclick | 单击 | onchange | 表单值改变 |
ondblclick | 双击 | onfocus | 获得焦点 |
onmouseover | 鼠标移入 | onblur | 失去焦点 |
onmouseout | 鼠标移出 | onload | 页面加载完成 |
onsubmit 表单提交 | 样题考过:onmouseover 实现悬停加粗变红 | ||
动态网页技术
了解概念即可 · ★★★大纲要求了解基本概念和原理:Java Servlet、JSP、ASP.NET、PHP、AJAX。这部分不要求像 JavaScript 那样大量编程。
| 技术 | 要点 |
|---|---|
| Java Servlet / JSP | Java 系服务器端技术;JSP 内置对象:request / response / session / out / application(cookie 不是 JSP 内置对象) |
| ASP.NET | 微软服务器端技术,常用 C# 编写 |
| PHP | 开源服务器端脚本语言,代码在服务器端执行 |
| AJAX | 不重新加载整个页面,与服务器交换数据并局部更新网页 |
AJAX 工作原理
公共基础知识
选择题 10 分 · 别丢虽然只有 10 分,但属于系统复习后比较容易拿到的分数,不要忽略。
数据结构
- 栈(后进先出)/ 队列(先进先出)
- 线性表 / 树 / 二叉树
- 查找 / 排序
程序设计基础
- 算法 / 结构化程序设计
- 面向对象程序设计
软件工程
- 软件生命周期
- 需求分析 → 概要设计 → 详细设计 → 测试 → 维护
数据库基础
- 数据模型 / 关系数据库
- 关系 / 元组 / 属性 / 主键
按重要性排序复习
不要平均用力| 优先级 | 内容 | 说明 |
|---|---|---|
| ★★★★★ | HTML · CSS · JavaScript · DOM · 事件处理 | 最需要实际编写代码的部分 |
| ★★★★ | HTTP · BOM · 内置对象 · 表单 · CSS 布局 | 选择与操作双高频 |
| ★★★ | Web 基本概念 · AJAX · Servlet · JSP · PHP · ASP.NET | 以概念题为主 |
| ★★★ | 公共基础知识 | 10 分,系统复习易拿分 |
真题与样题 · 2021–2026
点击选项即判分收录 2021–2024 年考生回忆版真题、2025 年教育考试院官方样题,以及依据 2025 年版大纲编写的 2026 模拟预测题。 选择题点击选项立即判分;操作题点击「查看参考答案」展开解析。
HTML<a href="www.petsWorld.com/turtles.htm"> <img src="turtle.jpg" width="800" height="600" title="欢迎点击图片进入一个新的世界" alt="可爱的小乌龟"> </a>解析:图片链接 =
<a> 包裹 <img>;悬停提示用 title,加载失败替代文本用 alt——这是操作题的高频填空点。
CSSp.small { line-height: 80%; font-size: 25pt; } #big { line-height: 200%; float: right; letter-spacing: 20px; }解析:行间距
line-height(百分比 = 相对正常值的倍数)、字间距 letter-spacing、类选择器 .small 与 ID 选择器 #big 的写法都是采分点。
<caption> 表格标题、<th> 表头、<td> 单元格;跨行/跨列处用 rowspan / colspan;表格边框通过 border 属性或 CSS 设置。
JS<li onmouseover="this.style.fontWeight='bold';this.style.color='red'" onmouseout="this.style.fontWeight='normal';this.style.color=''">跑步</li>采分点:事件
onmouseover / onmouseout,DOM 样式属性 style.fontWeight、style.color(驼峰命名)。
type="password",切换时修改 type 为 "text";文件控件用 <input type="file" accept=".jpg,.png"> 限制格式;配合 onclick 事件完成交互。
document.getElementById().value 读取输入;parseFloat() 转数值;等额本息公式 月供 = 本金 × 月利率 × (1+月利率)ⁿ ÷ [(1+月利率)ⁿ − 1];结果用 innerHTML 写回页面,Math.pow() 或循环求幂。
onclick 触发加入操作;遍历数组累加总价并用 innerHTML 更新显示;结账用 alert() 提示。综合考查数组、函数、DOM、事件四大核心。
5 === "5" 的结果是?